// 用于去掉注释
const UglifyJsPlugin = require('uglifyjs-webpack-plugin') //用于去掉注释

const CompressionPlugin = require('compression-webpack-plugin') //js css 压缩

module.exports = {
  //关闭严格模式
  lintOnSave: false,
  // 基本路径
  // 基本路径
  publicPath: process.env.NODE_ENV === 'production' ? '' : '/',
  // 输出文件目录
  outputDir: process.env.NODE_ENV === 'production' ? 'dist' : 'devdist',
  // 生产环境是否生成 sourceMap 文件
  assetsDir: 'static',
  productionSourceMap: false,
  // css相关配置
  css: {
    // 是否使用css分离插件 ExtractTextPlugin
    extract: true,
    // 开启 CSS source maps?
    sourceMap: false,
    loaderOptions: {
      less: {
        lessOptions: {
          // If you are using less-loader@5 please spread the lessOptions to options directly
          modifyVars: {
            'primary-color': '#2a9d8f'
            // 'link-color': '#1DA57A',
            // 'border-radius-base': '2px',
          },
          javascriptEnabled: true
        }
      }
    }
  },
  // webpack配置（去除打印、压缩等
  configureWebpack: config => {
    return {
      plugins: [
        require('unplugin-vue-define-options/webpack')()
        // 构建时开启gzip，降低服务器压缩对CPU资源的占用，服务器也要相应开启gzip
        // new CompressionPlugin({
        //   algorithm: 'gzip',//开启gzip
        //   test: new RegExp("\\.(" + productionGzipExtensions.join("|") + ")$"), // 匹配文件名
        //   threshold: 10240, // 对超过10k的数据压缩
        //   deleteOriginalAssets: false // 不删除源文件
        // }),
        // 去掉注释少了一点点大概1M的样子
        // new UglifyJsPlugin({
        //   uglifyOptions: {
        //     warning: false,
        //     output: {
        //       comments: false, // 去掉注释?这个也没减少多少体积啊
        //     },
        //     compress: {
        //       drop_console: true,
        //       drop_debugger: true,
        //       pure_funcs: ["console.log"], //移除console
        //     },
        //   },
        //   sourceMap: false,//不打印日志
        //   parallel: true //加快打包速度
        // })
      ]
    }
    // if (process.env.VUE_APP_MODE == "'production'") {
    // }
  },
  // webpack-dev-server 相关配置

  devServer: {
    open: true, // 编译完成是否打开网页
    // host: "127.0.0.1", // 指定使用地址，默认localhost,0.0.0.0代表可以被外界访问
    host: '0.0.0.0',
    // host: '192.168.1.168',
    // port: 8080, // 访问端口
    https: false, // 编译失败时刷新页面
    hot: true, // 开启热加载
    hotOnly: false,
    // proxy:null,
    // 'proxy' 定义代理服务器的主机名称和端口
    // `auth` 表示 HTTP 基础验证应当用于连接代理，并提供凭据
    // 这将会设置一个 `Proxy-Authorization` 头，覆写掉已有的通过使用 `header` 设置的自定义 `Proxy-Authorization` 头。
    /*
		    亲：打包的时候将这个proxy注释掉哦，使用哪个process.env.VUE_APP_MODE不生效不知道为啥
		    */
    proxy: {
      '/api': {
        // target: 'https://hushixiaolu.com/houtai',
        // target: 'http://120.26.232.8:81/houtai',
        // target: 'http://1.94.161.87:81/houtai',
        // target: 'http://192.168.0.50:5001'  ,
        // target: 'http://192.168.1.47:5001', // 秦豪
        // target: 'http://1.94.161.87:5001', //
        target: 'http://192.168.1.32:5001',

        changeOrigin: true,
        pathRewrite: {
          // 拦截所有的api替换为后面的内容现在是空的 ,后面写成aaa的时候地址bian
          '^/api': ''
        }
      }
    }, // 设置代理
    // overlay: {
    //   // 全屏模式下是否显示脚本错误
    //   warnings: true,
    //   errors: true
    // },
    before: app => {}
  }
}
